1. Field of the Invention
The present invention relates to a method for determining reference time error as set forth in the preamble of the appended claim 1, a positioning system as set forth in the preamble of the appended claim 10, an electronic device as set forth in the preamble of the appended claim 20, as well as a computing server as set forth in the preamble of the appended claim 21.
2. Brief Description of the Related Developments
One known positioning system is the GPS system (Global Positioning System), which presently covers more than 20 satellites. These satellites transmit e.g. Ephemeris data as well as data about the time of the satellite. A receiver used for positioning normally infers its location by calculating the time of propagation of a signal to be transmitted simultaneously from several satellites of the positioning system to the receiver. For the positioning, the receiver must typically receive the signals of at least four visible satellites to be able to calculate the position.
Each GPS satellite transmits a so-called L1 signal at a carrier frequency of 1575.42 MHz. This frequency is also indicated as 154f0, in which f0=10.23 MHz. Furthermore, the satellites transmit an L2 signal at a carrier frequency of 1227.6 MHz, i.e. 120f0. In the satellite, these signals are modulated with at least one pseudo random noise (PRN) sequence. This PRN sequence is different for each satellite. As a result of modulation, a code-modulated wideband signal is generated. The modulation technique used makes it possible for the receiver to separate the signals transmitted by the different satellites, although the carrier frequencies used in the transmission are substantially the same. This modulation technique is called code division multiple access (CDMA). In each satellite, the PRN sequence used for modulating the L1 signal is e.g. a so-called C/A code (Coarse/Acquisition code), as which a Gold code is used. Each GPS satellite transmits a signal by using an individual C/A code. The codes are formed as a modulo-2 sum of two binary sequences of 1023 bits. The first binary sequence G1 is formed with the polynomial X10+X3+1 and the second binary sequence G2 is formed by delaying the polynomial X10+X9+X8+X6+X3+X2+1 in such a way that the delay is different for each satellite. This arrangement makes it possible that different C/A codes can be formed with a similar code generator. Consequently, C/A codes are binary codes whose chipping rate in the GPS system is 1.023 MHz. The C/A code comprises 1023 chips, wherein the epoch of the code is 1 ms. The carrier frequency of the L1 signal is further modulated with navigation information at a bit rate of 50 bit/s. The navigation information comprises information about the health of the satellite, its orbit, time data, etc.
Satellites monitor the condition of their equipment during their operation. The satellites can use for example so-called watch-dog functions to detect and report failures possibly occurred in the equipment. The failures and functional disorders can be momentary or last a longer term. On the basis of the health data, some of the failures can possibly be compensated for, or the information transmitted by a failed satellite can be totally disregarded. Furthermore, in a situation in which the signal of more than four satellites can be received, the information received from different satellites can be weighted differently. It is thus possible to minimize errors in measurements which are possibly caused by satellites which seem unreliable.
To detect signals from the satellites and to identify the satellites, the receiver must perform synchronization, in which the receiver searches for the signal of each satellite at a time and attempts to be synchronized to this signal, so that the data to be transmitted with the signal can be received and demodulated.
A positioning receiver must perform synchronization e.g. when the receiver is turned on and also in a situation in which the receiver has not been able to receive a signal from any satellite for a long time. Such a situation can easily occur e.g. in portable devices, because the device is moving and the antenna of the device is not always optimally oriented with respect to the satellites, which weakens the strength of the received signal. Also in urban areas, buildings affect the signal to be received, and moreover, so-called multipath propagation can occur, in which the transmitted signal enters the receiver via different propagation paths, e.g. directly from the satellite (line-of-sight) and also reflected from buildings. This multipath propagation causes that the same signal is received as several signals with different phases and delays.
The positioning arrangement has two primary functions:
1. to calculate the pseudoranges between the receiver and the different GPS satellites, and
2. to determine the position of the receiver by using the calculated pseudoranges and the position of the satellites. The position of the satellites at a time can be calculated on the basis of the Ephemeris and time correction data received from the satellites.
The distances to the satellites are called pseudoranges, because the time is not accurately known in the receiver. Thus, the determinations of the position and the time are iterated, until a sufficient accuracy has been achieved with respect to the time and the position. Because the time is not known with absolute accuracy, the position and the time must be determined e.g. by linearizing a set of equations for each new iteration.
The pseudorange can be calculated by measuring the relative propagation delay differences of signals from the different satellites. After the receiver has been synchronized with the received signal, the information transmitted in the signal can be determined.
Almost all known GPS receivers use correlation methods for acquisition and tracking of the code. Reference codes ref(k), ie. the PRN sequences of the different satellites, are stored or generated locally in the positioning receiver. The received signal is subjected to conversion to an intermediate frequency (down conversion), after which the receiver multiplies the received signal with the stored PRN sequence. The signal formed as a result of the multiplication is integrated or low-pass filtered, wherein the result is information on whether the received signal contained a signal transmitted by a satellite. The multiplication to be performed in the receiver is iterated in such a way that each time, the phase of the PRN sequence stored in the receiver is shifted. The correct phase is deduced from the correlation result preferably in such a way that when the correlation result is the greatest, the correct phase has been found. Thus, the receiver is correctly synchronized with the received signal.
The acquisition of the code is followed by fine adjustment of the frequency and by phase locking. This correlation result also indicates the information transmitted in the GPS signal.
The above-mentioned acquisition and frequency adjustment process must be performed for each signal of a satellite which is received in the receiver. In some receivers, there may be several receiving channels, wherein the aim is to synchronize each receiving channel with the signal of one satellite at a time and to find out the information transmitted by this satellite.
The positioning receiver receives information transmitted by satellites and performs positioning on the basis of the received information. To perform the positioning, the receiver must receive the signals transmitted by at least four different satellites, to be able to find out the x, y, z coordinates and the time. The received navigation information is stored in a memory, wherein of this stored information, e.g. the Ephemeris data on the satellites can be used.
So-called differential positioning DGPS has been developed particularly for adjusting the positioning of a mobile receiver. Thus, the positioning receiver receives the signal from said four satellites and also uses correction data by a reference receiver to eliminate various errors. The reference receiver is typically stationary, and its position is known.
FIG. 1 shows, in a principle view, positioning by means of signals transmitted by four satellites SV1, SV2, SV3, SV4 and a reference receiver BS in a positioning receiver MS. In the GPS system, the satellites transmit Ephemeris data and time data, on the basis of which the positioning receiver can make calculations to determine the position of the satellite at a time. These Ephemeris data and time data are transmitted in frames which are further divided into subframes. FIG. 2 shows an example of such a frame structure FR. In the GPS system, each frame comprises 1500 bits which are divided into five subframes comprising 300 bits. Because the transmission of one bit takes 20 ms, the transmission of each subframe takes 6 s, and the whole frame is transmitted in 30 seconds. The subframes are numbered from 1 to 5. In each subframe 1, e.g. time data is transmitted, informing the time of transmission of the subframe and information about the deviation of the satellite clock with respect to the time of the GPS system.
Subframes 2 and 3 are used for the transmission of Ephemeris data. Subframe 4 contains other system information, such as universal time data (UTC, Universal Time, Coordinated). Subframe 5 is intended for the transmission of almanac data of all satellites. The unit of these subframes and frames is called a GPS navigation message which comprises 25 frames, i.e. 125 subframes. The length of the navigation message is thus 12 min 30 s.
In the GPS system, time is measured in seconds from the beginning of a GPS week. In the GPS system, the moment of beginning of a week is midnight between a Saturday and a Sunday. Each subframe to be transmitted contains information on the moment of the GPS week when the subframe was transmitted. Thus, the time data indicates the time of transmission of a certain bit, i.e. in the GPS system, the time of transmission of the last bit in the subframe. In the satellites, time is measured with high-precision atomic chronometers. In spite of this, the operation of each satellite is controlled in a control center for the GPS system (not shown), and e.g. a time comparison is performed to detect chronometric errors in the satellites and to transmit this information to the satellite.
In the receiver, the time of transmission {circumflex over (T)}ToTk of the received signal can be determined for example in the following way:
{circumflex over (T)}ToTk=TOWk+Nbitk+Nmsk+Nchipk+xcex94chipkxe2x80x83xe2x80x83(1)
in which
TOWk=the time data (time of week) contained in the last received subframe in seconds,
Nbitk=the time, in seconds, corresponding to the number of bits received after the last bit of the bit corresponding to the time data, i.e. the last bit of the last received subframe containing the time data,
Nmsk=the time, in seconds, passed since the reception of the last received bit,
Nchipk=the number (from 0 to 1022) of whole chips received after the change of the last epoch given in seconds,
xcex94chipk=the measured code phase at the moment of positioning given in seconds, and
k=the satellite index.
The appended FIG. 3 illustrates this formula, and its different terms, used for estimating the time of transmission of a signal received at a moment of positioning. It is obvious that FIG. 3 is simplified with respect to a real situation, because e.g. one code sequence comprises 1023 chips, wherein it is not reasonable to illustrate them precisely. The moment of positioning is illustrated by a dash and dot line which is indicated with the reference SM.
It is important to calculate the time of transmission of the received signal for each signal to be monitored, because the local reference time of the receiver, formed with the local oscillator of the receiver, is coupled on the basis of these values to the GPS time. Furthermore, the different propagation times of the signals received from different satellites can be deduced from these measured values, because each satellite transmits the same chip substantially at the same moment. Although there may be slight differences in the timings of different satellites, these are monitored, and error information is transmitted in the GPS navigation message, as was already mentioned above.
Under good receiving conditions and when an advantageous satellite constellation is used, the position of the user and the time error can be solved very accurately. A good constellation of satellites means that the satellites to be used for positioning are selected in such a way that, seen from the receiver, they are located in clearly different directions, that is, the solid angles in which the signals transmitted from different satellites enter the receiver, clearly differ from each other.
However, in a situation in which the received signal is faint, the received information contained in the navigation message cannot necessarily be utilized. Thus, the only usable measurements to be performed for the carrier frequency signal are the number of chips and the code phase. However, if the receiver has no proper Ephemeris data and no reference chronometer available, the position cannot be calculated solely on the basis of the number of the chips and the code phase. Further, old Ephemeris data does not give a sufficiently precise position for satellites, wherein the precision of the positioning is impaired. In the worst case, the receiver has no navigation data available, which means that the calculation of signal transmission times according to formula (1) cannot be made and the positioning will fail. In a corresponding manner, the lack of a reference chronometer will make it impossible with methods of prior art to estimate the GPS time, even though there were Ephemeris data available. This means that the Ephemeris data must be retrieved from another source that a received signal transmitted from satellites, to perform the positioning.
In practical applications, the accuracy of the real time clock RTC of the receiver may vary. In a corresponding manner, the time data to be transmitted from the base station BS of a mobile communication network and to be received in the receiver BS can be delayed to a considerable extent, even several minutes. However, this delay is not known to the receiver, and furthermore, the delay may vary at different times of transmission of the time data. Moreover, if the receiver is not capable of decoding the information transmitted in the navigation message, the receiver cannot obtain information about the GPS time. An incorrect GPS time estimate may cause even significant errors in the positioning.
It is an aim of the present invention to provide a method for reducing the effect of inaccuracies of time data in the positioning of the receiver also when the signal strength is so low that navigation information cannot be received. It is also an aim of the invention to obtain a positioning receiver. The invention is based on the idea of trying to find such a value for the time data, at which the error of the estimated positioning data is substantially at the minimum. The method according to the present invention is characterized in what will be presented in the characterizing part of the appended claim 1. The positioning system according to the present invention is characterized in what will be presented in the characterizing part of the appended claim 10. The electronic device according to the present invention is characterized in what will be presented in the characterizing part of the appended claim 20. The computing server according to the present invention is characterized in what will be presented in the characterizing part of the appended claim 21.
The present invention can be used to achieve significant advantages when compared with methods and positioning receivers of prior art. Upon applying the method of the invention, the accuracy of positioning can be improved, because the error in the time data can be minimized. Furthermore, in the method according to a preferred embodiment of the invention, the positioning can be accelerated, because the error in the time data can be determined more accurately and this data can be utilized in new positionings.
In the method according to a preferred embodiment of the invention, the algorithms required in the positioning are primarily run in a computing server communicating with a communication network, wherein the computing can be performed considerably faster than in solutions of prior art.
Furthermore, a network-based implementation according to a preferred embodiment of the invention has still further advantages with respect to a network-aided receiver. When the positioning computing is performed in a communication network instead of the receiver, the communication network does not need to transmit any assisting data to be used in the positioning, such as Ephemeris data, to the receiver. Thus, the reduced need of data transmission will also reduced the load on the communication network.
In some situations, the first positioning (TTFF, time to first fix), for example after turning on of a positioning receiver, can be faster in a network-based implementation than in a network-aided implementation, because in the network-based implementation, the positioning receiver only needs to transmit the measured chip and code phase measurements to the computing server. The transmission of these measurement requires considerably fewer bits than the transmission of assisting data from the communication network to the positioning receiver. In particular, if the communication network is loaded, the positioning of the network-aided method can be delayed when the assisting data is delayed in the network. Instead, in the network-based implementation, the positioning can be computed substantially immediately after the server has received the chip and code phase measurements from the positioning receiver. This is substantially advantageous. Particularly in emergency situations, the computed location of the receiver is substantially immediately known and one does not have to wait for it from the positioning receiver.
Furthermore, the network-based implementation has the advantage that it is always possible to use the most recent Ephemeris data and possibly even DGPS corrections.